#include "server_ZombieVerde.h"
#include "server_RandomGenerator.h"
#define PUNTOS 10
#define EXPLOSIONES 1

ZombieVerde::ZombieVerde() : Enemigo() {
    puntosOtorgados = PUNTOS;
    explosionesRestantes = EXPLOSIONES;
    codigo = string("4");
    RandomGenerator generador;
    movimientosParaCambiarDeDireccion = generador.generate(1, 5);
    direcciones = {"arriba", "abajo", "izquierda", "derecha"};
    codigos = {"4", ")", "=", "?"};
    int indice = generador.generate(0, 3);
    direccion = direcciones[indice];
    codigo = codigos[indice];
}

ZombieVerde::~ZombieVerde() {
}

void ZombieVerde::setDireccion() {
    RandomGenerator generador;
    int indice = 0;
    /*if (direccion == string("ninguna")) {
        generador.generate(0,3);
        indice = generador.generate(0, 3);
        direccion = direcciones[indice];
        codigo = codigos[indice];
        return;
    }*/
    if (movimientosParaCambiarDeDireccion > 0) {
        movimientosParaCambiarDeDireccion--;
        return;
    }
    if ((direccion == "arriba") || (direccion == "abajo"))
        indice = generador.generate(0, 1);
    else if ((direccion == "derecha") || (direccion == "izquierda"))
        indice = generador.generate(2, 3);
    direccion = direcciones[indice];
    codigo = codigos[indice];
    movimientosParaCambiarDeDireccion = 2;

}